using System;
using SincroCliente.SincroServices;
using Modelo = Curriculum.Business.ClasesPersistentes;
using ModeloXML = Curriculum.Business.LectorDatos;

namespace SincroCliente
{
	/// <summary>
	/// Summary description for SubirDocenteAlServer.
	/// </summary>
	public class ActualizadorDocenteAlServer : ActualizadorDeDatos	
	{
		public ActualizadorDocenteAlServer()
			: base()
		{			
		}

		internal override void Ejecutar()
		{
			Modelo.Docente docente = new Modelo.Docente();
			docente.ConstruirDocente();

			Docente docenteSer = new Docente();
			docenteSer = ConvertirModeloASerializable( docente.ConvertirAEstructura() );
			
			Respuesta resp = this._service.ActualizarDatos(GetUsuarioSerializable(), docenteSer);

			if (resp.Codigo != ResultadoServicio.OK)
			{
				throw new Exception(resp.Mensaje);
			}
		}

		public override string GetDescripcionDatosActualizados()
		{
			return "Docente";
		}

		private Docente ConvertirModeloASerializable(ModeloXML.Docente docente)
		{
			Docente docenteSer = new Docente();
			docenteSer.cuil = docente.cuil;
			docenteSer.domicilio = docente.domicilio;
			docenteSer.fechaNacimiento = docente.fechaNacimiento;
			docenteSer.mail = docente.mail;
			docenteSer.nombre = docente.nombre;
			docenteSer.apellido = docente.apellido;
			docenteSer.observaciones = docente.observaciones;
			docenteSer.telefono = docente.telefono;

			return docenteSer;
		}	
	}
}
